<?php
/* 
 * modelo de crud
 * @author Wiliame Morais @ Pc4 Team
 */

class PC4_Crud_Trabalhe extends PC4_Crud_Upload {
	
	function __construct($caminho = '', $tabela = 'trabalhe_conosco') {
		parent::__construct($caminho, $tabela);
	}
	
	/**
	 * Verifica se a agencia já se encontra cadastrado no banco
	 * @param array $campos
	 * @param int $id
	 * @return array $erros - vazio caso não tenha erros
	 */
	function valida($campos, $id=0) {
		$erros = array();
		$q = $this->db->get_where($this->tabela, "email = '{$campos["email"]}' AND id <> $id", 1);
				
		if ($q->num_rows() > 0) {
			$erros[] = "Já existe o email \"{$campos["email"]}\" em nossa base de dados.";
		}
		
		return $erros;
	}
	
	/*
	 * function insere um arquivo e os demais campos
	 */
	function insere($umRegistro, $debug = false){
		$tipos = array("txt", "doc", "docx", "pdf");
		$umRegistro['arquivo'] = $this->trataUpload($umRegistro, 'arquivo', $tipos, 2048);
		
		return parent::insere($umRegistro, $debug);
	}
	
	/*
	 * function edita um arquivo e os demais campos
	 */
	function edita($umRegistro, $id){
      	$umRegistro['slug'] = $this->slug($umRegistro['nome']);
		$tipos = array("txt", "doc", "docx", "pdf");
		if(!empty($umRegistro['arquivo']['name'])){
			$umRegistro['arquivo'] = $this->trataUpload($umRegistro, 'arquivo',$tipos, 2048);
		}else{
			unset($umRegistro['arquivo']);
		}
		return parent::edita($umRegistro, $id);
	}
	
	function trataRegistro($registro){
		// pega os dados das experiencias profissionais e faz array
		$nomes = explode(';', $registro->nome_exp);
		unset($registro->nome_exp);
		
		$atividades = explode(';', $registro->atividades_exp);
		unset($registro->atividades_exp);
		
		$area = explode(';', $registro->area_exp);
		unset($registro->area_exp);
		
		$cargo = explode(';', $registro->cargo_exp);
		unset($registro->cargo_exp);
		
		$dt_entrada = explode(';', $registro->dt_entrada_exp);
		unset($registro->dt_entrada_exp);
		
		$dt_saida = explode(';', $registro->dt_saida_exp);
		unset($registro->dt_saida_exp);
				
		$desligamento = explode(';', $registro->desligamento_exp);
		unset($registro->desligamento_exp);
		
		$motivo = explode(';', $registro->motivo_exp);
		unset($registro->motivo_exp);
		
		foreach ($nomes as $c => $nome) {
			$registro->experiencias[$c]->nome 		= $nome;				
			$registro->experiencias[$c]->atividades = $atividades[$c];				
			$registro->experiencias[$c]->area 		= $area[$c];				
			$registro->experiencias[$c]->cargo 		= $cargo[$c];				
			$registro->experiencias[$c]->dt_entrada = $dt_entrada[$c];				
			$registro->experiencias[$c]->dt_saida 	= $dt_saida[$c];				
			$registro->experiencias[$c]->desligamento = $desligamento[$c];				
			$registro->experiencias[$c]->motivo 	= $motivo[$c];				
			
		}
		
		// pega os dados dos cursos e faz array
		$cursos = explode(';', $registro->curso_cext);
		unset($registro->curso_cext);
		
		$instituicao = explode(';', $registro->instituicao_cext);
		unset($registro->instituicao_cext);
		
		$carga = explode(';', $registro->carga_cext);
		unset($registro->carga_cext);
		
		$dt_inicio = explode(';', $registro->dt_inicio_cext);
		unset($registro->dt_inicio_cext);
		
		$dt_fim = explode(';', $registro->dt_fim_cext);
		unset($registro->dt_fim_cext);
		
		foreach ($cursos as $c => $curso) {
			$registro->cursos[$c]->curso 		= $curso;				
			$registro->cursos[$c]->instituicao 	= $instituicao[$c];				
			$registro->cursos[$c]->carga 		= $carga[$c];				
			$registro->cursos[$c]->dt_incio 	= $dt_incio[$c];				
			$registro->cursos[$c]->dt_fim 		= $dt_fim[$c];				
		}
		return $registro;
	}
	
}
?>